import React, { Component } from "react";

// 类组件来说，可以使用static defaultProps或者在类上面挂载
// 函数组件来说，只能在组件上面直接挂载

const Child1 = (props) => {
  return <div>child1组件 - {props.msg}</div>;
};
Child1.defaultProps = {
  msg: "hello",
};

class Child2 extends Component {
  // 类组件的props的默认值的写法
  // static defaultProps是固定写法，不能改的
  // static表示类的私有属性
  // static defaultProps = {
  //   num: 20,
  // };

  render() {
    return (
      <div>
        child2组件 - {this.props.count} - {this.props.num}
      </div>
    );
  }
}
// 类的私有属性，等价于在类上面挂载一个属性
Child2.defaultProps = {
  num: 20,
};

class App extends Component {
  render() {
    return (
      <>
        <h2>props默认值</h2>
        <Child1 />
        <Child2 count="10" />
      </>
    );
  }
}

export default App;
